From: Fabio Fantoni Date: Tue, 20 Jan 2015 10:33:17 +0000 (+0100) Subject: libxl: Spice streaming video setting support for upstream qemu X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~3848 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22?a=commitdiff_plain;h=296c7f3284efe655d95a8ae045a5dc1a20d6fff0;p=xen.git libxl: Spice streaming video setting support for upstream qemu Usage: spice_streaming_video=[filter|all|off] Specifies what streaming video setting is to be used by spice (if given), otherwise the qemu default will be used. Signed-off-by: Fabio Fantoni Acked-by: Wei Liu --- diff --git a/docs/man/xl.cfg.pod.5 b/docs/man/xl.cfg.pod.5 index 0c2cbacc5d..408653f514 100644 --- a/docs/man/xl.cfg.pod.5 +++ b/docs/man/xl.cfg.pod.5 @@ -1433,6 +1433,11 @@ Specifies what image compression is to be used by spice (if given), otherwise the qemu default will be used. Please see documentations of your current qemu version for details. +=item B + +Specifies what streaming video setting is to be used by spice (if given), +otherwise the qemu default will be used. + =back =head3 Miscellaneous Emulated Hardware diff --git a/tools/libxl/libxl.h b/tools/libxl/libxl.h index b8e0b675ed..c219f59c47 100644 --- a/tools/libxl/libxl.h +++ b/tools/libxl/libxl.h @@ -538,6 +538,17 @@ typedef struct libxl__ctx libxl_ctx; */ #define LIBXL_HAVE_SPICE_IMAGECOMPRESSION 1 +/* + * LIBXL_HAVE_SPICE_STREAMINGVIDEO + * + * If defined, then the libxl_spice_info structure will contain a string type + * field: streaming_video. This value defines what Spice streaming video setting + * is used. + * + * If this is not defined, the Spice streaming video setting support is ignored. + */ +#define LIBXL_HAVE_SPICE_STREAMINGVIDEO 1 + /* * LIBXL_HAVE_DOMAIN_CREATE_RESTORE_PARAMS 1 * diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c index 40c86499e4..d8d6f0c913 100644 --- a/tools/libxl/libxl_dm.c +++ b/tools/libxl/libxl_dm.c @@ -402,6 +402,10 @@ static char *dm_spice_options(libxl__gc *gc, opt = libxl__sprintf(gc, "%s,image-compression=%s", opt, spice->image_compression); + if (spice->streaming_video) + opt = libxl__sprintf(gc, "%s,streaming-video=%s", opt, + spice->streaming_video); + return opt; } diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl index 052ded997e..02be4664c6 100644 --- a/tools/libxl/libxl_types.idl +++ b/tools/libxl/libxl_types.idl @@ -242,6 +242,7 @@ libxl_spice_info = Struct("spice_info", [ ("clipboard_sharing", libxl_defbool), ("usbredirection", integer), ("image_compression", string), + ("streaming_video", string), ]) libxl_sdl_info = Struct("sdl_info", [ diff --git a/tools/libxl/xl_cmdimpl.c b/tools/libxl/xl_cmdimpl.c index 00aa69dff5..b7eac2940c 100644 --- a/tools/libxl/xl_cmdimpl.c +++ b/tools/libxl/xl_cmdimpl.c @@ -1950,6 +1950,8 @@ skip_vfb: b_info->u.hvm.spice.usbredirection = l; xlu_cfg_replace_string (config, "spice_image_compression", &b_info->u.hvm.spice.image_compression, 0); + xlu_cfg_replace_string (config, "spice_streaming_video", + &b_info->u.hvm.spice.streaming_video, 0); xlu_cfg_get_defbool(config, "nographic", &b_info->u.hvm.nographic, 0); xlu_cfg_get_defbool(config, "gfx_passthru", &b_info->u.hvm.gfx_passthru, 0);